package com.fdb.efp.esb.service.bo.req;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.annotation.JSONPOJOBuilder;
import com.alibaba.fastjson.annotation.JSONType;

/**
 * @author hengyh
 */
@JSONType(builder = ZX10001QueryReports.Builder.class)
public class ZX10001QueryReports implements ZXQueryReports {
	private static final long serialVersionUID = 4070057236109156070L;

	private String IntfInd;

	private String RtnType;

	private String QryRsn;

	private String QryTp;

	private String RptFmt;

	private String RptAgng;

	private String CustNm;

	private String CertNo;

	private String CertTp;

	private String CustCardNo;

	private String AuthCd;

	private String BizType;

	private String AuthTm;

	private ZX10001QueryReports() {
	}

	@JSONField(name = "IntfInd")
	public String getIntfInd() {
		return IntfInd;
	}

	@JSONField(name = "RtnType")
	public String getRtnType() {
		return RtnType;
	}

	@JSONField(name = "QryRsn")
	public String getQryRsn() {
		return QryRsn;
	}

	@JSONField(name = "QryTp")
	public String getQryTp() {
		return QryTp;
	}

	@JSONField(name = "RptFmt")
	public String getRptFmt() {
		return RptFmt;
	}

	@JSONField(name = "RptAgng")
	public String getRptAgng() {
		return RptAgng;
	}

	@JSONField(name = "CustNm")
	public String getCustNm() {
		return CustNm;
	}

	@JSONField(name = "CertNo")
	public String getCertNo() {
		return CertNo;
	}

	@JSONField(name = "CertTp")
	public String getCertTp() {
		return CertTp;
	}

	@JSONField(name = "CustCardNo")
	public String getCustCardNo() {
		return CustCardNo;
	}

	@JSONField
	public String getAuthCd() {
		return AuthCd;
	}

	@JSONField
	public String getBizType() {
		return BizType;
	}

	@JSONField
	public String getAuthTm() {
		return AuthTm;
	}


	@Override
	public String toString() {
		return "ZX10001QueryReports [reportId=" + IntfInd + ", returnType=" + RtnType + ", name=" + CustNm
				+ ", certNo=" + CertNo + "]";
	}

	@JSONPOJOBuilder(buildMethod = "build", withPrefix = "with")
	public static class Builder {
		private ZX10001QueryReports buildWith;

		public Builder withIntfInd(String val)
		{ buildWith.IntfInd = val; return this; }
		public Builder withRtnType(String val)
		{ buildWith.RtnType = val; return this; }
		public Builder withQryRsn(String val)
		{ buildWith.QryRsn = val; return this; }
		public Builder withQryTp(String val)
		{ buildWith.QryTp = val; return this; }
		public Builder withRptFmt(String val)
		{ buildWith.RptFmt = val; return this; }
		public Builder withRptAgng(String val)
		{ buildWith.RptAgng = val; return this; }
		public Builder withCustNm(String val)
		{ buildWith.CustNm = val; return this; }
		public Builder withCertNo(String val)
		{ buildWith.CertNo = val; return this; }
		public Builder withCertTp(String val)
		{ buildWith.CertTp = val; return this; }
		public Builder withCustCardNo(String val)
		{ buildWith.CustCardNo = val; return this; }
		public Builder withAuthCd(String val)
		{ buildWith.AuthCd = val; return this; }
		public Builder withBizType(String val)
		{ buildWith.BizType = val; return this; }
		public Builder withAuthTm(String val)
		{ buildWith.AuthTm = val; return this; }
		public Builder buildWithExists(ZX10001QueryReports exists)
		{ buildWith = exists; return this; }
		public ZX10001QueryReports build()
		{ return buildWith; }
		public Builder()
		{ buildWith = new ZX10001QueryReports(); }
	}

}
